/*
 * $Id: AbstractHstSystemContactInfo.java,v 1.3 2009/07/24 18:27:42 oliver Exp $
 *
 * Copyright (C) 2006 General Electric Company. All Rights Reserved.
 *
 * This software is the confidential and proprietary information of the General
 * Electric Company (GE). You shall not disclose this software and shall use it
 * only in accordance with the terms of the license agreement you entered into
 * with GE.
 *
 * GE MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
 * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
 * NON-INFRINGEMENT. GE SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
 * AS A RESULT OF USING, MODIFYING, OR DISTRIBUTING THIS SOFTWARE OR ITS
 * DERIVATIVES.
 */

/*
 * WARNING: DO NOT EDIT THIS FILE. This is a generated file that is synchronized
 * by MyEclipse Hibernate tool integration.
 *
 * Created Wed May 13 09:19:05 CDT 2009 by MyEclipse Hibernate Tool.
 */
package com.ge.healthcare.autosc.common.database.pojo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * A class that represents a row in the HST_SYSTEM_CONTACT_INFO table. 
 * You can customize the behavior of this class by editing the class, {@link HstSystemContactInfo()}.
 * WARNING: DO NOT EDIT THIS FILE. This is a generated file that is synchronized
 * by MyEclipse Hibernate tool integration.
 */
public abstract class AbstractHstSystemContactInfo 
    implements Serializable
{
    /**
	 * Eclipse generated
	 */
	private static final long serialVersionUID = -4561425889439410778L;

	/** The cached hash code value for this instance.  Settting to 0 triggers re-calculation. */
    private int hashValue = 0;

    /** The composite primary key value. */
    private java.lang.Long systemContactInfoId;

    /** The value of the simple stepName property. */
	private Long stepTypeId;

	/** The value of the cfgCodeDetails association. */
	private Long codeId;
	
    private List<HstSystemContactLogs> hstSystemContactLogs = new ArrayList<HstSystemContactLogs>();

    /** The value of the simple ipAddress property. */
    private java.lang.String ipAddress;

    /** The value of the simple systemId property. */
    private java.lang.String systemId;

    /** The value of the simple connectType property. */
    private java.lang.String connectType;

    /** The value of the simple contactTime property. */
    private java.util.Date contactTime;

    /**
     * Simple constructor of AbstractHstSystemContactInfo instances.
     */
    public AbstractHstSystemContactInfo()
    {
    }

    /**
     * Constructor of AbstractHstSystemContactInfo instances given a simple primary key.
     * @param systemContactInfoId
     */
    public AbstractHstSystemContactInfo(java.lang.Long systemContactInfoId)
    {
        this.setSystemContactInfoId(systemContactInfoId);
    }

    /**
     * Return the simple primary key value that identifies this object.
     * @return java.lang.Long
     */
    public java.lang.Long getSystemContactInfoId()
    {
        return systemContactInfoId;
    }

    /**
     * Set the simple primary key value that identifies this object.
     * @param systemContactInfoId
     */
    public void setSystemContactInfoId(java.lang.Long systemContactInfoId)
    {
        this.hashValue = 0;
        this.systemContactInfoId = systemContactInfoId;
    }

	/**
	 * @return the stepTypeId
	 */
	public Long getStepTypeId() {
		return stepTypeId;
	}

	/**
	 * @param stepTypeId
	 *            the stepTypeId to set
	 */
	public void setStepTypeId(Long stepTypeId) {
		this.stepTypeId = stepTypeId;
	}

    /**
     * Return the value of the IP_ADDRESS column.
     * @return java.lang.String
     */
    public java.lang.String getIpAddress()
    {
        return this.ipAddress;
    }

    /**
     * Set the value of the IP_ADDRESS column.
     * @param ipAddress
     */
    public void setIpAddress(java.lang.String ipAddress)
    {
        this.ipAddress = ipAddress;
    }

    /**
     * Return the value of the SYSTEM_ID column.
     * @return java.lang.String
     */
    public java.lang.String getSystemId()
    {
        return this.systemId;
    }

    /**
     * Set the value of the SYSTEM_ID column.
     * @param systemId
     */
    public void setSystemId(java.lang.String systemId)
    {
        this.systemId = systemId;
    }

	/**
	 * @return the codeId
	 */
	public Long getCodeId() {
		return codeId;
	}

	/**
	 * @param codeId
	 *            the codeId to set
	 */
	public void setCodeId(Long codeId) {
		this.codeId = codeId;
	}
    
    /**
     * Return the value of the CONNECT_TYPE column.
     * @return java.lang.String
     */
    public java.lang.String getConnectType()
    {
        return this.connectType;
    }

    /**
     * Set the value of the CONNECT_TYPE column.
     * @param connectType
     */
    public void setConnectType(java.lang.String connectType)
    {
        this.connectType = connectType;
    }

    /**
     * Return the value of the CONTACT_TIME column.
     * @return java.lang.String
     */
    public java.util.Date getContactTime()
    {
        return this.contactTime;
    }

    /**
     * Set the value of the CONTACT_TIME column.
     * @param contactTime
     */
    public void setContactTime(java.util.Date contactTime)
    {
        this.contactTime = contactTime;
    }

	/**
	 * @return the hstSystemContactLogs
	 */
	public List<HstSystemContactLogs> getHstSystemContactLogs() {
		return hstSystemContactLogs;
	}

	/**
	 * @param hstSystemContactLogs
	 *            the hstSystemContactLogs to set
	 */
	public void setHstSystemContactLogs(List<HstSystemContactLogs> hstSystemContactLogs) {
		this.hstSystemContactLogs = hstSystemContactLogs;
	}

    /**
     * Implementation of the equals comparison on the basis of equality of the primary key values.
     * @param rhs
     * @return boolean
     */
    public boolean equals(Object rhs)
    {
        if (rhs == null)
            return false;
        if (! (rhs instanceof HstSystemContactInfo))
            return false;
        HstSystemContactInfo that = (HstSystemContactInfo) rhs;
        if (this.getSystemContactInfoId() == null || that.getSystemContactInfoId() == null)
            return false;
        return (this.getSystemContactInfoId().equals(that.getSystemContactInfoId()));
    }

    /**
     * Implementation of the hashCode method conforming to the Bloch pattern with
     * the exception of array properties (these are very unlikely primary key types).
     * @return int
     */
    public int hashCode()
    {
        if (this.hashValue == 0)
        {
            int result = 17;
            int systemContactInfoIdValue = this.getSystemContactInfoId() == null ? 0 : this.getSystemContactInfoId().hashCode();
            result = result * 37 + systemContactInfoIdValue;
            this.hashValue = result;
        }
        return this.hashValue;
    }
}
